The present invention generally relates to a system and method for validating data collected by application software, and more particularly to a graphical user interface for creating validation rules which confirm the validity of data collected by application software used in mobile workforce management.
In many industries which employ a large mobile workforce, such as utilities, taxi companies, and large equipment repair services, the efficiency with which mobile workers can be scheduled and dispatched to customers can have a great impact on customer satisfaction as well as on a service provider""s bottom line. From the customer satisfaction standpoint, it is not uncommon for a customer to call a cable television company, or other service provider, to request service only to be told to choose a four-hour service window on good days, or an xe2x80x9call dayxe2x80x9d service window on bad days. Even when the customer is xe2x80x9cluckyxe2x80x9d enough to request service on a xe2x80x9cgoodxe2x80x9d day, the worker dispatched by the service provider typically will arrive well after the window has closed, or the customer will have waited, and wasted, most of the day for what should typically only be a half-hour service call. This situation arises from an inability of the service provider to accurately predict when a particular worker will complete a given task and how long it will take for the worker to reach the next service location.
From the financial standpoint, inefficient scheduling and dispatching results in fewer service calls being performed each day, potentially resulting in lower earnings per worker-hour, as well as possible additional expenditures required for hiring and training additional workers. To improve scheduling and dispatching, many service providers have implemented a documentation process for collecting information pertinent to a service request. Each business typically has its own unique set of paper service forms, each having a number of relevant fields in which the worker inputs data as the service job is being performed. As with the collection of any kind of information, certain types, formats, and/or ranges of information are expected for certain fields. For instance, a field for xe2x80x9carrival timexe2x80x9d must be completed with a time of day, and would be expected to fall during or near normal work hours. When workers complete the paper forms, the worker must remember certain rules or guidelines for filling out the fields. If the rules are followed properly, the forms are correctly filled out and the service provider is given accurate information with which to analyze its business, e.g., modify schedules, dispatch additional workers, etc. Often, however, the worker makes mistakes when filling out the forms which are only discovered after the worker returns to a business site (e.g., a dispatch office) at the end of the day, turns in the forms for the day""s service requests, and the forms are reviewed. By the time the errors are discovered, many hours or even days may have passed, making it difficult to correct the errors and perhaps invalidating any scheduling or dispatching adjustments previously made based on the incorrect information.
More recently, computerized systems have been developed which have replaced the paper forms with electronically stored and implemented forms. Typically, in such systems, a centralized server computer including all business logic and having access to the necessary databases communicates via a wireless or other type network with a mobile client computer carried by a worker. Both paper forms and their electronic equivalents have fields for entering data desired for a particular service task, as well as a heading labeling each field and perhaps some instructional information. The mobile computer includes application software, such as a mobile pen application (MPA), which electronically implements the service forms of a particular service provider to allow the worker to enter various data concerning each service job. The MPA for electronically implementing a particular form includes fields for entering data, the heading for each field of the form and any instructional information. Data entered into the fields is sent back to the centralized server computer where the worker""s schedule may be updated, if necessary, based on such factors as whether a job took more or less time than anticipated, or whether an emergency service must be scheduled for a worker who is geographically near the emergency service site. The mobile computer typically also includes Global Positioning System (GPS) capabilities to allow the central computer to precisely track the geographic location of the worker.
In order to ensure the validity of the data entered by the worker, some or all of the fields will have an associated validation rule. A validation rule is simply a logical sequence of operators and operands for performing one or more tests or comparisons on data in one or more fields to make sure the data is valid. The MPA implements a particular form using a set of validation rules to ensure correct entry of data. The validation rules are loaded into the MPA, and validation rules associated with fields in the rules file are associated with the corresponding field names in the MPA. The validation rules test the contents of each field entered by the user to ensure that the field is filled out correctly, either after the worker enters data into a the field, or after the form is transmitted back to a centralized server computer. Either way, errors are caught before the worker leaves the service site.
Due to each service provider having its own unique set of service forms, each service provider must undergo a lengthy, inefficient process for determining the validation rules appropriate for each form and for the MPA in which the forms are implemented. Typically, this has meant that an MPA analyst, an engineer or project manager, will go to the service provider""s business site, and work with the employees of the service provider to specify, for each field of a form any rules, which may include rules of thumb, that a worker follows when filling out the fields. The MPA developer, a programmer who writes code for implementing the validation rules, then takes the specified rules and creates a set of validation rules in MPA-compatible code which is saved as a rules file for the form. This validation rule creation process can take several weeks and require many hours from the MPA developer and from the employees of the service provider.
Consequently, what is needed is a user-friendly, computer-based system and method for quickly and easily creating sets of validation rules to thereby shorten the validation rules creation process. The system and method should be independent of the type or nature of both the form being validated as well as the particular MPA being implemented. As explained in the following, the present invention provides a method and apparatus that meets these criteria and solves other problems in the prior art.
The present invention is a user-friendly, computer-based system and method for quickly and easily creating sets of validation rules for forms. A graphical user interface (GUI) is provided which may be used at a business site by the service provider""s employees to develop sets of validation rules using a natural language. The GUI of the present invention displays a representation of a form as a tree structure, with the root node representing the name of the form, and the leaf nodes for representing fields of the form. The user begins by selecting a form template, which is a template for creating and completing a set of validation rules for fields for a form. A form template is a text file including the name of the form and the names of the used fields for the form. The names in the form template are used by the GUI to display the tree representation. The number of field names is used to determine the number of leaf nodes for the tree. The system of the present invention loads in a selected form template, reads the first text string in the form template and displays it as the root node of the tree to represent the form name. Subsequent strings in the form template are read in and displayed as leaf nodes to represent field names.
Sets of validation rules are created for a form interactively, by selecting fields, adding appropriate validation rules to be implemented for the fields, and adding appropriate expressions for the validation rules. Validation rules are displayed as subnodes of fields, and expressions as subnodes of the validation rules. One or more validation rules may be defined for each field, and one or more expressions may be defined for each validation rule. An expression is a logical sequence of operands and operators, implementing a single test or comparison, which can be evaluated as TRUE or FALSE. A validation rule, then, is a logical sequence of operands and operators, implementing one or more tests, one for each expression, which can be evaluated as TRUE or FALSE. If the validation rule evaluates as TRUE, then the data entered into the field is considered valid. If the validation rule evaluates as FALSE, on the other hand, then a data entry error is considered to have occurred, and a user-defined error message is displayed to the worker who entered the invalid data. Depending on a definition in the validation rule, the worker may be allowed to transmit the data anyway, such as when the validation rule is implementing a rule of thumb rather than a strict rule, or may force the worker to correct the entered data.
The GUI of the present invention uses a menu interface which presents, in plain English, a user with the choices that are likely to be needed to develop validation rules. The user selects from the displayed tree structure, the fields for which validation rules are to be added, then selects expressions from a menu. The menu presents the expressions as expression templates, which are templates for creating and completing an expression. The expression template includes the test or comparison operator for the expression and indicates the type of operand or operands that must be added to complete the expression. Thus, the user interface of the present invention allows a user to create a validation rule by selecting a template and fill in the blanks.
Where multiple expressions are defined for a rule, the user interface provides a join operation to allow a user to quickly select how the expressions should be evaluated (e.g., conjunctively (AND) or disjunctively (OR)) and place parentheses around groups of expressions to define an evaluation order where three or more expressions are defined.
While a tree structure is described herein, those skilled in the art will recognize that other graphical representations may be implemented without departing from the spirit of the invention.